﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

namespace Webservice
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IStorageService" in both code and config file together.
    [ServiceContract]
    public interface IStorageService
    {
        /// <summary>
        /// Gets list of reports 
        /// </summary>
        /// <returns>A list of reports</returns>
        [OperationContract]
        List<Contracts.Report> GetReports();

        /// <summary>
        /// Upload CSV content and queue for analyzing
        /// </summary>
        /// <param name="content">CSV file content</param>
        [OperationContract]
        void UploadLog(string content);


        /// <summary>
        /// Fetches report for specified name
        /// </summary>
        /// <param name="reference">Name of report</param>
        /// <returns>JSON String</returns>
        [OperationContract]
        string GetReport(string reference);
    }
}
